package com.yuncheng.oaApi.constant;

/**
 * 检查员费用报销单
 * @author
 */
public class OaJcyFybxdConstant {

    public final static String STATE_TSSXSQ = "特殊事项申请";
    public final static String STATE_LWF = "劳务费";



    public final static String STATE_LIST_NODE = "报销人员信息,特殊事项,用款计划申请,出差补助及其他,交通费,住宿费,汇总表单,完成";

    public final static String STATE_LIST_NODES = "报销信息填写,用款计划申请,汇总表单,完成";

    // 对公或个人第一个状态
    public static String getFirstStates(){
        return STATE_LIST_NODES.split(",")[0];
    }

    // 对公或个人下一个状态
    public static String getNextStates(String nowState){
        String nodeNameList[] = STATE_LIST_NODES.split(",");
        for (int i=0; i<nodeNameList.length; i++){
            if (nodeNameList[i].equals(nowState)){
                if (i == nodeNameList.length-1){
                    return nowState;
                }else {
                    return nodeNameList[i+1];
                }
            }
        }
        return "";
    }

    // 对公或个人上一个状态
    public static String getPreviousStates(String nowState){
        String[] nodeNameList = STATE_LIST_NODES.split(",");

        for (int i=0; i<nodeNameList.length; i++){
            if (nodeNameList[i].equals(nowState)){
                if (i==0){
                    return nodeNameList[i];
                }else {
                    int perviousI = i-1; // 上一个环节名称
                    return nodeNameList[perviousI];
                }
            }
        }
        return "";
    }


    //是否对公转账
    public final static String STATE_SFDGZZ_YES = "是";
    public final static String STATE_SFDGZZ_NO = "否";

    //报销类型
    public final static String STATE_CLBX = "差旅报销";
    public final static String STATE_YBBX = "一般报销";

    public final static String STATE_TSSX = "特殊事项";
    public final static String STATE_YKJHSQ = "用款计划申请";

    public final static String STATE_CCBZJQT = "出差补助及其他";
    public final static String STATE_JTF = "交通费";
    public final static String STATE_ZSF = "住宿费";
    public final static String STATE_HZBD = "汇总表单";
    public final static String STATE_WC = "完成";

    /** 报销项目分类 */
    public final static String BXXMFL_LWF = "劳务费";
    public final static String BXXMFL_CLF = "差旅费";


    public final static String CSJJTFS_DEFAULT_GGJT = "公共交通"; // 城市间交通方式
    public final static String CSJJTFS_DEFAULT_GT = "动车"; // 城市间交通方式
    public final static String CSJJTFS_DEFAULT_FJ = "飞机"; // 城市间交通方式
    public final static String CSJJTFS_DEFAULT_DWPC = "单位派车"; // 城市间交通方式
    public final static String CSJJTFS_DEFAULT_WDWPC = "无单位派车"; // 城市间交通方式
    public final static String FYBXD_SFDF_NO = "否"; // 城市间交通方式

    public final static String FYBXD_LWFSFJGS_YES = "是"; // 劳务是否交个税
    public final static String FYBXD_LWFSFJGS_NO = "否"; // 劳务是否交个税

    public final static String FYBXD_SFYTSSXSQ_YES = "是"; // 是否有特殊事项申请
    public final static String FYBXD_SFYTSSXSQ_NO = "否"; // 是否有特殊事项申请

    /**
     * 特殊事项申请类型
     * 超期产生
     * 午休房
     * 超期产生和午休房
     * @return
     */
    public final static String FYBXD_TSSXSQ_SQLX_WXF = "午休房";
    public final static String FYBXD_TSSXSQ_SQLX_CQCS = "超期产生";
    public final static String FYBXD_TSSXSQ_SQLX_WDWPC = "无单位派车";


    /** 报销人员-住宿类型 */
    public final static String FYBXD_BXRY_ZXLX_QT = "全天";
    public final static String FYBXD_BXRY_ZXLX_WX = "午休";

    /**
     * 是否有无单位派车
     * @return
     */
    public final static String FYBXD_SFYWDWPC_YES = "是"; // 有无单位排除
    public final static String FYBXD_SFYWDWPC_NO = "否";

    // 第一个状态
    public static String getFirstState(){
        return STATE_LIST_NODE.split(",")[0];
    }

    // 下一个状态
    public static String getNextState(String nowState){
        String nodeNameList[] = STATE_LIST_NODE.split(",");
        for (int i=0; i<nodeNameList.length; i++){
            if (nodeNameList[i].equals(nowState)){
                if (i == nodeNameList.length-1){
                    return nowState;
                }else {
                    return nodeNameList[i+1];
                }
            }
        }
        return "";
    }

    // 上一个状态
    public static String getPreviousState(String nowState){
        String[] nodeNameList = STATE_LIST_NODE.split(",");

        for (int i=0; i<nodeNameList.length; i++){
            if (nodeNameList[i].equals(nowState)){
                if (i==0){
                    return nodeNameList[i];
                }else {
                    int perviousI = i-1; // 上一个环节名称
                    return nodeNameList[perviousI];
                }
            }
        }
        return "";
    }


    //检查单类型
    public static String FYBXD_JCYBXD = "检查员报销单";

    public static String FYBXD_ZZRYCCBXD = "在职（本单位人员）出差报销单";
    public static String FYBXD_DGZZSQD = "对公转账申请单";
    public static String FYBXD_ZCBXD = "支出报销单";

    public static String FKFS_ZZ = "转账";


    public static String CXFS_FJ = "飞机";

    //转账状态
    public static String FKFS_ZZ_NO = "否";
    public static String FKFS_ZZ_YES = "是";


    //是否垫付车费
    public static String DFCF_NO = "否";
    public static String DFCF_YES = "是";

    //垫付住宿费
    public static String DFZSF_NO = "否";
    public static String DFZSF_YES = "是";

    //转账往返情况
    public static String ZZWFQK_QC = "去程";
    public static String ZZWFQK_FC = "返程";
    public static String ZZWFQK_QQC = "往返";


    //卡类
    public static String KL_GWK = "公务卡";
    public static String KL_CXK = "储蓄卡";
    public static String KL_ZZ = "转账";
    public static String KL_DG = "对公转账";
    public static String KL_DS = "对私转账";


    //住宿费标准文件名称
    public static String ZSF_BZ_FILE_NAME = "广西壮族自治区药品监督管理局办公室关于印发广西壮族自治区药品监督管理局机关差旅费管理规定的通知（桂药监办〔2020〕108号）.pdf";

    //标准文件类型
    public static String ZSF_BZ_FILE_NAME_LX = "差旅费管理";

}
